In personal computers or servers, hierarchically constructed various storage devices are used. A lower-hierarchical storage device is required to be low price and has a large capacity, while a higher-hierarchical one is required to be capable of high-speed access. As a lowest-hierarchical storage device, a magnetic storage such as a hard disk drive and a magnetic tape is generally used. The magnetic storage is nonvolatile and capable of saving a considerably large amount of data at a lower price as compared to a semiconductor memory device or the like. However, the magnetic storage is slow in access speed, and does not have random accessibility in many cases. Therefore, a program or data to be saved for a long period is stored in the magnetic storage, and is optionally changed to a higher-hierarchical storage device.
A main memory is a storage device higher in hierarchy than the magnetic storage. Generally, a DRAM (Dynamic Random Access Memory) is used for the main memory. The DRAM can be accessed at higher speed as compared to the magnetic storage, and in addition, the DRAM has the random accessibility. Further, the DRAM has a characteristic that a cost-per-bit is lower in price than a high-speed semiconductor memory such as an SRAM (Static Random Access Memory).
A highest-hierarchical storage device is an internal cache memory included in an MPU (Micro Processing Unit). The internal cache memory is connected via an internal bus to a core of the MPU, and thus, it can be accessed at remarkably high speed. However, a recording capacity to be secured is considerably small. As a storage device that configures a hierarchy between the internal cache and the main memory, a secondary cache, or a tertiary cache, or the like is used occasionally.
The reason that the DRAM is selected as the main memory is that it has a very good balance between the access speed and the cost-per-bit. Further, the DRAM has a large capacity among the semiconductor memories, and recently, a chip with a capacity of 1 gigabit or more has been developed. However, the DRAM is a volatile memory, and stored data is lost when the power is turned off. Thus, the DRAM is not suitable for a program or data to be save for a long period. In the DRAM, a refresh operation needs to be periodically performed to save the data even while the power supply is turned on. Thus, there is a limit to reduction in power consumption, and there is a problem that complicated control by a controller is needed.
As a nonvolatile semiconductor memory of large capacity, a flash memory is known. However, the flash memory has disadvantages in that a large amount of electricity is needed to write and delete the data, and a writing time and a deleting time are very long. Accordingly, it is not appropriate to replace the DRAM as the main memory. Other nonvolatile memories that have been proposed include an MRAM (Magnetoresistive Random Access Memory), an FRAM (Ferroelectric Random Access memory) or the like. However, it is difficult to obtain a storage capacity equal to that of the DRAM.
On the other hand, as a semiconductor memory that replaces the DRAM, a PRAM (Phase change Random Access Memory) in which a phase change material is used to record is proposed (see Japanese Patent Application Laid-open Nos. 2006-24355 and 2005-158199). In the PRAM, the data is stored by a phase state of the phase change material included in a recording layer. That is, the phase change material differs greatly in electrical resistance between a crystalline phase and an amorphous phase. The data can be stored by using this characteristic.
The phase state can be changed by applying a write current to the phase change material, which heats the phase change material. Data-reading is performed by applying a read current to the phase change material and sensing the resistance value. The read current is set to a value sufficiently small as compared to the write current so that no phase change occurs. Thus, the phase state of the phase change material does not change unless a high heat is applied thereto, and accordingly, even when the power is turned off, the data is not lost.
Not only the PRAM, but also substantially all semiconductor memory devices include defective memory cells due to a manufacturing failure. These defective memory cells are usually replaced by redundant memory cells, thereby relieving defective addresses.
Generally, a defective address is stored in a program circuit which includes plural fuse elements. When an access to a defective address is requested, the above program circuit detects this, and accordingly, performs a replacement access to the redundant memory cell instead of the defective memory cell.
There are broadly two methods of disconnecting a fuse element: a method of melting the fuse element by a large current; and a method of destroying the fuse element by irradiating a laser beam. The former method requires no expensive device such as a laser trimmer, and has an advantage in that a self diagnosis can be easily performed regarding whether the fuse element is disconnected correctly. However, to melt the fuse element including such as polycrystalline silicon using a large current, substantially a large current is necessary. Therefore, a large-scale fuse disconnection circuit and a diagnosis circuit need to be built in the inside of the semiconductor memory device. This causes a problem of the increase in the chip area.
On the other hand, the latter method can decrease the chip area because of no need to build the fuse disconnection circuit inside of the semiconductor memory device. However, according to this method, a passivation film is destroyed by the irradiation of the laser beam, and moisture enters this destroyed part. As a result, reliability of the product decreases.
In recent years, there has been proposed a method of storing a defective address using an element called an antifuse (see Japanese Patent Application Laid-open Nos. 2000-132992 and 2000-208637). The antifuse is an element that becomes in the nonconductive state in the initial state, and becomes in the conductive state when a write operation is performed, unlike the normal fuse element. However, even when the write operation is performed to the antifuse, a large variation occurs in the conductive state. Therefore, a sense circuit and the like are necessary to determine whether the antifuse is in the nonconductive state or the conductive state. Accordingly, the circuit scale becomes large.
As explained above, the program circuit for storing the defective address has advantages and disadvantages depending on a kind of the program circuit. Regarding the PRAM, a suitable program circuit needs to be selected considering this point. Because the PRAM is a nonvolatile memory, the memory cell itself of the PRAM can be considered to be used as a part of the program circuit. In other words, there is considered a method that the phase change material contained in the memory cell is set in a crystal state or an amorphous state corresponding to the defective address to be stored, at the manufacturing time.
However, the crystallization temperature of the phase change material is relatively low of about 150° C. Therefore, even when the program is completed correctly in the wafer state, the phase change material is entirely crystallized by reflow performed at the packaging time or the mounting time, and the programmed content is erased. Accordingly, it is actually difficult to use the memory cell itself of the PRAM as a part of the program circuit.
On the other hand, a RRAM (Resistive Random Access Memory) using a magnetoresistive material of which electric resistance changes due to the application of a voltage pulse is also known. However, because the program content of the RRAM also has a possibility of being changed by the reflow, the use of the memory cell itself of the PRAM as a part of the program circuit is considered difficult.
As explained above, even when information of the defective address is stored in the memory cell of the PRAM or RRAM before packaging or mounting, it has been difficult to hold this information after packaging or mounting.
The above problems can happen not only to the program circuit for storing the defective address, but also to a case of providing a program circuit for storing a user program or a vendor program apart from a data area. For example, in a flash memory or the like, there are cases of providing an OTP (One Time Programming) area in which writing is possible for only once. A user program, a vendor program or the like are stored in the OTP area, and the program once stored in the OTP area cannot be erased thereafter. That is, irreversible nonvolatile storage can be performed. When such an OTP area is provided in a PRAM or a RRAM, if a PRAM element or a RRAM element is used for the OTP area, contents of the program may be destroyed by reflow.